#!/usr/bin/python
# -*- coding:utf-8 -*-
# @author  : micah
# @time    :  
# @function: 
# @version :


"""
为什么数字类型不是可迭代对象
但是容器类型是可迭代对象
"""

nums = [1, 2, 3, 4]  # 可迭代对象

# 可以在一个可迭代对象中获取一个迭代器
print(type(nums))

iter_obj = iter(nums)  # 迭代器可以通过iter进行获取
print(type(iter_obj))


# 判断一个对象是否是一个迭代器
from collections.abc import Iterator, Iterable
print('nums', isinstance(nums, Iterator))
print('iter_obj', isinstance(iter_obj, Iterator))

print('*' * 20)

print('nums', isinstance(nums, Iterable))
print('iter_obj', isinstance(iter_obj, Iterable))


'''
一个迭代对象不一定是一个迭代器
但是一个迭代器一定是一个迭代对象
'''